package com.zenithmind.chat.pojo.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.zenithmind.common.base.BaseEntity;
import com.zenithmind.chat.enums.FriendStatus;
import com.zenithmind.chat.enums.AddSource;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 好友关系实体类 - 遵循单一职责原则
 * 只负责存储好友关系的核心数据，UI相关设置分离到专门的实体
 *
 * @author ZenithMind Team
 * @since 2025-01-09
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("chat_friend")
public class ChatFriend extends BaseEntity {

    /**
     * 用户ID
     */
    private String userId;

    /**
     * 好友ID
     */
    private String friendId;

    /**
     * 备注名称
     */
    private String remarkName;

    /**
     * 关系状态
     */
    private FriendStatus status;

    /**
     * 分组名称
     */
    private String groupName;

    /**
     * 添加时间
     */
    private LocalDateTime addTime;

    /**
     * 添加来源
     */
    private AddSource addSource;

    /**
     * 最后聊天时间
     */
    private LocalDateTime lastChatTime;

    /**
     * 扩展信息（JSON格式）
     */
    private String extraInfo;
}
